em 12x

Envio para todo o país

Saiba os prazos de entrega e as formas de envio.

Último disponível!

Características do produto

Fabricante: AMD

Tipo de memória gráfica GDDR6

Interface com a placa-mãe: PCI-Express 4.0

Tamanho da memória: 16 GB

Conectividade: 2 DisplayPort 1.4a, 2 HDMI 2.1

Características gerais

Fabricante
AMD
Marca
Gigabyte
Linha
Gaming
Série
Radeon 6000 Series
Modelo
RX 6800 XT
Versão
GV-R68XTGAMING OC-16GD

Especificações

Conectividade
2 DisplayPort 1.4a, 2 HDMI 2.1
Quantidade máxima de monitores
4
Resolução máxima
7680x4320
Exigência de energia
750 W
Acessórios incluídos
Guia rápido

Memória

Tamanho da memória
16 GB
Tipo de memória gráfica
GDDR6
Interface com a placa mãe
PCI-Express 4.0
Bus de memória
256 bit
Velocidade da memória
16000 MHz
Banda larga de mémoria
512 GB/s

Processador

Quantidade de núcleos
4608
Frequência boost do núcleo
2285 MHz
Frequência do núcleo do modo de jogo
2015 MHz - 2045 MHz

Compatibilidade

É compatível com directX
Sim
É compatível com openGL
Sim

Descrição

RX 6800 XT 16Gb Gigabyte Gaming OC
- Placa está funcionando perfeitamente
- Possui Nota Fiscal e Garantia



PREÇO SH1PS 2749

Gtx 1660 Ti 6gb Gainward Ghost

em 12x

Envio para todo o país

Saiba os prazos de entrega e as formas de envio.

Características do produto

Fabricante: Nvidia

Tipo de memória gráfica GDDR6

Interface com a placa-mãe: PCI-Express 3.0

Tamanho da memória: 6 GB

Conectividade: DL-DVI-D, DisplayPort 1.4, HDMI 2.0b

Características gerais

Fabricante
Nvidia
Marca
Gainward
Linha
Ghost
Série
GeForce GTX 16 Series
Modelo
GTX 1660 Ti
Versão
NE6166T018J9-1160L

Processador

Quantidade de núcleos
1536
Frequência boost do núcleo
1770 MHz

Compatibilidade

É compatível com directX
Sim
É compatível com openGL
Sim

Memória

Tamanho da memória
6 GB
Tipo de memória gráfica
GDDR6
Interface com a placa mãe
PCI-Express 3.0
Bus de memória
192 bit

Especificações

Conectividade
DL-DVI-D, DisplayPort 1.4, HDMI 2.0b
Resolução máxima
7680x4320
Exigência de energia
450 W
Acessórios incluídos
Manual

Descrição

GTX 1660 Ti 6Gb Gainward Ghost
- Placa está funcionando perfeitamente
- Possui Caixa, Nota Fiscal e Garantia

},props:{"on":"now","type":"function","inline":true,"preload":false}}]); var scripts = [{s:function(){(function (window, document) { var DOMAINS = [ 'mercadolibre.com', 'mercadolivre.com', 'mercadolibre.com.ar', 'mercadolivre.com.br', 'mercadolibre.com.mx', 'mercadolibre.cl', 'mercadolibre.com.co', ]; var DESTINATION_PATTERN = new RegExp('(?:' + DOMAINS.join('|') + ')$'); var LINKER_V2_PATTERN = '$version.$hash.$clientId'; var LINKER_V2_VERSION = 'ML1'; var QUERY_PARAM_SEPARATOR = '?'; var CHO_BASE_URL = 'gz/checkout/buy-ms'; function LinkerV2(clientId) { this.getGAClientId = function getGAClientId() { var hash = Date.now(); // TODO: Change Date.now for Hash Fn return LINKER_V2_PATTERN .replace('$version', LINKER_V2_VERSION) .replace('$hash', hash) .replace('$clientId', clientId); } } function onHtmlChanges(callback) { function useMutationObserverApi(cb) { MutationObserver = window.MutationObserver || window.WebKitMutationObserver; if (!MutationObserver) { return false; } var observer = new MutationObserver(cb); observer.observe(document, { subtree: true, attributes: true }); return true; } function useFallbackDomSubtreeModified(cb) { document.body.addEventListener('DOMSubtreeModified', cb, false); } callback(); // Execute the callback in the first render if (!useMutationObserverApi(callback)) { useFallbackDomSubtreeModified(callback); } } function decorateLinks(clientId) { var linkerV2 = new LinkerV2(clientId); function isMarketplaceHost(hostname) { return DESTINATION_PATTERN.test(hostname); } function decorateMarketplaceLink(link) { return link + (link.includes(QUERY_PARAM_SEPARATOR) ? '&' : QUERY_PARAM_SEPARATOR) + '_ga=' + linkerV2.getGAClientId(); } function getHostNameFromUrl(url) { try { return url.match(/https?:\/\/([^/]+)/i)[1]; } catch (error) { return ''; } } function isCheckoutUrl(url) { return url.includes(CHO_BASE_URL); } function onAnchorClicked(event) { // We decorate the link just when the user clicks the anchor because we want the timestamp to be accurate // for when we deduct if the client is on the same buying flow. // We also want to prevent the users from copying the link with their id in case they share it. event.currentTarget.href = decorateMarketplaceLink(event.currentTarget.href); } function onFormSubmit(event) { // We set the value when the submit event is dispatched since the gaValue depends // on the time it is executed because it returns a value with Date.now() event.target._ga.value = linkerV2.getGAClientId(); } function decorateNonModalPathToCheckout() { var forms = document.querySelectorAll('form'); for (var i = 0; i < forms.length; i++) { var form = forms[i]; var buttons = form.querySelectorAll('button'); for (var j = 0; j < buttons.length; j++) { var button = buttons[j]; if (isCheckoutUrl(button.formAction)) { if (!form.querySelector('*[name="_ga"]')) { var gaField = document.createElement('input'); gaField.setAttribute('type', 'hidden'); gaField.setAttribute('name', '_ga'); gaField.setAttribute('value', linkerV2.getGAClientId()); form.appendChild(gaField); form.addEventListener('submit', onFormSubmit); } } } } } onHtmlChanges(function () { decorateNonModalPathToCheckout(); // Decorates anchors var anchors = document.querySelectorAll('a'); for (var i = 0; i < anchors.length; i++) { var anchor = anchors[i]; if (isMarketplaceHost(getHostNameFromUrl(anchor.href))) { anchor.addEventListener('click', onAnchorClicked); } } // Decorate forms var forms = document.querySelectorAll('form'); for (var i = 0; i < forms.length; i++) { var form = forms[i]; if (isMarketplaceHost(getHostNameFromUrl(form.action))) { if (!form.querySelector('*[name="_ga"]')) { var gaField = document.createElement('input'); gaField.setAttribute('type', 'hidden'); gaField.setAttribute('name', '_ga'); gaField.setAttribute('value', linkerV2.getGAClientId()); form.appendChild(gaField); } form.addEventListener('submit', onFormSubmit); } } }); } var ClientManager = (function () { var clientId = null; return { getId: function () { return clientId; }, setId: function (newClientId) { clientId = newClientId; } }; })(); if (typeof window.meli_ga !== 'function') { return; } window.meli_ga(function (tracker) { var clientId = tracker.get('clientId'); decorateLinks(clientId); ClientManager.setId(clientId); }); window.traceability = function (callback) { callback({ get: function get(parameter) { if (parameter === 'clientId') { return ClientManager.getId(); } } }); }; // Send event to differentiate webviews (function onWebviewSendEvent(meli_ga, userAgent) { if (userAgent.match(/MercadoLibre-(?:Android|iOS)/)) { meli_ga('send', 'event', 'WEBVIEW', 'ON_WEBVIEW', userAgent, { nonInteraction: true }); } })(meli_ga, navigator.userAgent); })(window, document);},props:{"on":"load","type":"function","preload":false}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-web-widgets/v2.6.0/tracking-mediator.js",props:{"on":"load"}},{s:function(){(function (window, document) { var FORM_QUERY_SELECTOR_VALUE = 'form.ui-pdp-actions:not([decorated=true])'; function IssuesInspector() { var ISSUES_INSPECTOR_LOCAL_STORAGE = 'ML__ISSUES_INSPECTOR'; var THRESHOLD_FOR_STASH_CLEANING = 8.64e7// ms, this means a day var THRESHOLD_OF_SUCCESSION_OF_NATIVE_APPS_OPENED_BEFORE_SUSPECTING = 1; var WINDOW_OF_TIME_FOR_SUCCESSION_IN_SECONDS = 5; // scs function UserHistory() { function toLocalStorage(data) { if (window.localStorage) { try { window.localStorage.setItem(ISSUES_INSPECTOR_LOCAL_STORAGE, JSON.stringify(data)); } catch (e) { /* do nothing */ } } } function fromLocalStorage() { if (window.localStorage) { try { return JSON.parse(window.localStorage.getItem(ISSUES_INSPECTOR_LOCAL_STORAGE)) || []; } catch (e) { return []; } } } var stash = fromLocalStorage(); // We want to keep our stash cleaned if (stash.length) { var lastElement = stash.pop(); if (lastElement && ((Date.now() - lastElement.timestamp) > THRESHOLD_FOR_STASH_CLEANING)) { stash = []; toLocalStorage(stash); } } this.push = function push(element) { stash.push(element); toLocalStorage(stash); }; this.get = function get() { stash = fromLocalStorage(); return stash; } } function UserStats(step) { return { location: window.location.href, timestamp: Date.now(), step: step, }; } var userHistory = new UserHistory(); var STEPS = { OPEN_DEEP_LINK: 'OPEN_DEEP_LINK' , GONE_TO_NATIVE_APP: 'GONE_TO_NATIVE_APP', STAYED_ON_BROWSER: 'STAYED_ON_BROWSER', } // IssuesInspector Methods this.trackNavigationToDeepLink = function() { userHistory.push(new UserStats(STEPS.OPEN_DEEP_LINK)); }; this.trackGoneToWebView = function() { userHistory.push(new UserStats(STEPS.GONE_TO_NATIVE_APP)); }; this.trackStayedOnBrowser = function() { userHistory.push(new UserStats(STEPS.STAYED_ON_BROWSER)); }; this.retrieveUserHistory = function () { return userHistory.get(); }; this.suspectsUserHasIssues = function() { function countNumberOfTimesGoneToNativeApps(windowOfTimeInSeconds) { var uh = userHistory.get(); var now = Date.now(); var windowOfTimeStartsAt = now - (windowOfTimeInSeconds * 1000); var recordsOnGoneToNativeApps = []; for (var index = 0; index < uh.length; index++) { var record = uh[index]; if (record.step === STEPS.OPEN_DEEP_LINK && record.timestamp > windowOfTimeStartsAt) { recordsOnGoneToNativeApps.push(record); } } return recordsOnGoneToNativeApps.length; } var numberOfTimesGoneToNativeApps = countNumberOfTimesGoneToNativeApps(WINDOW_OF_TIME_FOR_SUCCESSION_IN_SECONDS); if (numberOfTimesGoneToNativeApps > THRESHOLD_OF_SUCCESSION_OF_NATIVE_APPS_OPENED_BEFORE_SUSPECTING) { sendEvent('SUCCESSION_OF_OPENED_NATIVE_APPS', numberOfTimesGoneToNativeApps, { nonInteraction: true }); return true; } return false; }; } var WEBVIEW_URL = 'meli://webview/?url='; var IS_DEBUGGER_ON = !!document.cookie.match(/_debug_webview=true;?/i); var IS_ON_STAGE = !!document.cookie.match(/(?:mshopsVip|mshopsCart)=/i); var NOINDEX_MODAL_REGEX = /\/noindex\/buyNow\//i; var CHECKOUT_URL_REGEX = /\/gz\/checkout\//i; var D2ID_COOKIE_REGEX = /(^| )_d2id=([^;]+)/i; var MLDATA_SESSIONID_COOKIE_REGEX = /(^| )_mldataSessionId_mshops=([^;]+)/i; var GA_CID_COOKIE_REGEX = /(^| )_mshops_ga_cid=([^;]+)/i; var GA_CID_SESSION_COOKIE_REGEX = /_mshops_ga_(?:ZJDHQL9CSF|YHK3J9PTPW|Q5QKD8CHHE|NDJX5TFLDY|GKK1270N25)=GS\d\.\d\.(.+?)(?:;|$)/; var STEP_DECISOR_PATH = "step-decisor"; var ANDROID_OS = 'android'; var ANDROID_VERSION_REGEX = /Android (\d+(?:\.\d+){0,2})/; var ANDROID_MINIMUM_SUPPORTED_VERSION = 6; var IOS_OS = 'ios'; var IOS_VERSION_REGEX = /OS ((\d+_?){2,3})\s/; var IOS_MINIMUM_SUPPORTED_VERSION = 13; var DEVICES_INFO = { android: { os: ANDROID_OS, regex: ANDROID_VERSION_REGEX, minimumVersion: ANDROID_MINIMUM_SUPPORTED_VERSION }, ios: { os: IOS_OS, regex: IOS_VERSION_REGEX, minimumVersion: IOS_MINIMUM_SUPPORTED_VERSION } } var isIos = isIOS(); var FALLBACK_WAITING_TIME_MS = isIos ? 5 * 1000 : 2.5 * 1000; var FALLBACK_WAITING_TIME_WITH_A_MARGIN_ERROR_MS = FALLBACK_WAITING_TIME_MS * 1.1; // fallback time * the margin error function isIOS(){ var ua = window.navigator ? window.navigator.userAgent : ''; return ua.match(IOS_VERSION_REGEX); } if (!Array.from) { // Add Array.from polyfill from MDN Array.from = (function () { var toStr = Object.prototype.toString; var isCallable = function (fn) { return typeof fn === 'function' || toStr.call(fn) === '[object Function]'; }; var toInteger = function (value) { var number = Number(value); if (isNaN(number)) { return 0; } if (number === 0 || !isFinite(number)) { return number; } return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number)); }; var maxSafeInteger = Math.pow(2, 53) - 1; var toLength = function (value) { var len = toInteger(value); return Math.min(Math.max(len, 0), maxSafeInteger); }; return function from(arrayLike/*, mapFn, thisArg */) { var C = this; var items = Object(arrayLike); if (arrayLike == null) { throw new TypeError("Array.from requiere un objeto array-like - not null or undefined"); } var mapFn = arguments.length > 1 ? arguments[1] : void undefined; var T; if (typeof mapFn !== 'undefined') { if (!isCallable(mapFn)) { throw new TypeError('Array.from: si hay mapFn, el segundo argumento debe ser una función'); } if (arguments.length > 2) { T = arguments[2]; } } var len = toLength(items.length); var A = isCallable(C) ? Object(new C(len)) : new Array(len); var k = 0; var kValue; while (k < len) { kValue = items[k]; if (mapFn) { A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k); } else { A[k] = kValue; } k += 1; } A.length = len; return A; }; }()); } !function () { // Event submitter polyfill for Safari var lastBtn = null document.addEventListener('click', function (e) { if (!e.target.closest) return; lastBtn = e.target.closest('button, input[type=submit]'); }, true); document.addEventListener('submit', function (e) { if (e.submitter) return; var canditates = [document.activeElement, lastBtn]; for (var i = 0; i < canditates.length; i++) { var candidate = canditates[i]; if (!candidate) continue; if (!candidate.form) continue; if (!candidate.matches('button, input[type=button], input[type=image]')) continue; e.submitter = candidate; e.iosSubmitter = candidate; return; } e.submitter = e.target.querySelector('button, input[type=button], input[type=image]') }, true); }(); var logger = { info: function () { if (IS_DEBUGGER_ON) { var properties = Array.from(arguments); var firstArgument = properties.splice(0, 1); console.info.apply(console, ['%c' + firstArgument, 'color:white;background:blue'].concat(properties)) } }, warn: function () { if (IS_DEBUGGER_ON) { var properties = Array.from(arguments); var firstArgument = properties.splice(0, 1); console.warn.apply(console, ['%c' + firstArgument, 'color:white; background: red'].concat(properties)); } }, }; function sendEvent(eventMessage, eventLabel, fieldsObject) { if (meli_ga) { meli_ga('send', 'event', 'WEBVIEW', eventMessage, eventLabel, fieldsObject) } } function FormHandler($form) { function getQueryParams() { var queryParams = []; if (!$form || !$form.elements || !$form.elements.length) { return; } for (var i = 0; i < $form.elements.length; i++) { var element = $form.elements[i]; if (element.name && element.value) { queryParams.push(element.name + '=' + encodeURIComponent(element.value)); } } var _d2idCookieValue = document.cookie.match(D2ID_COOKIE_REGEX); if (_d2idCookieValue && _d2idCookieValue.length && _d2idCookieValue[0]) { _d2idCookieValue = _d2idCookieValue[2]; queryParams.push('_d2id=' + encodeURIComponent(_d2idCookieValue)); } var _mldataSessionIdCookieValue = document.cookie.match(MLDATA_SESSIONID_COOKIE_REGEX); if (_mldataSessionIdCookieValue && _mldataSessionIdCookieValue.length && _mldataSessionIdCookieValue[0]) { _mldataSessionIdCookieValue = _mldataSessionIdCookieValue[2]; queryParams.push('mshops_mldataSessionId=' + encodeURIComponent(_mldataSessionIdCookieValue)); } var _mshopsGaCidCookieValue = document.cookie.match(GA_CID_COOKIE_REGEX); if (_mshopsGaCidCookieValue && _mshopsGaCidCookieValue.length && _mshopsGaCidCookieValue[0]) { _mshopsGaCidCookieValue = _mshopsGaCidCookieValue[2]; queryParams.push('_mshops_ga_cid=' + encodeURIComponent(_mshopsGaCidCookieValue)); } return queryParams.join('&'); } this.isActionEmpty = function isActionEmpty () { return window.location.href === $form.action; }; this.getSubmitButton = function getSubmitButton () { return $form.querySelector('button[type=submit]'); }; this.isAvailable = function () { logger.info('IS $form AVAILABLE: ', !!$form); return !!$form; }; this.userIsLoggedIn = function userIsLoggedIn() { try { var isLoggedIn = window && window[0] && window[0].User && window[0].User.isLoggedIn(); logger.info('[userIsLoggedIn] IS USER LOGGED IN: ', isLoggedIn); if (!window.location.href.includes(STEP_DECISOR_PATH)) { return isLoggedIn; } } catch (e) { logger.warn('[userIsLoggedIn]', e) } return undefined; }; this.getRedirectionUrl = function getRedirectionUrl() { var redirectionUrl = this.isActionEmpty() ? this.getSubmitButton().formAction : $form.action; function choicesRedirectUrl(url) { if (window.location.href.includes(STEP_DECISOR_PATH)) { var urlObj = new URL(window.location.href); var callbackURL = urlObj.searchParams.get("callback_url"); if (callbackURL) { var newURL = new URL(callbackURL); for (let [key, value] of urlObj.searchParams) { if (key !== "callback_url") { newURL.searchParams.append(key, value); } } var newURLString = newURL.toString(); var newRedirectUrl = newURLString + (newURLString.includes('?') ? '&' : '?') + 'flow_type=traditional_choice'; logger.info('CHOICES URL:', newRedirectUrl); return newRedirectUrl; } else { logger.info('REDIRECT URL NO STEP-DECISOR:', url); return url; } } logger.info('REDIRECTION URL: ', redirectionUrl); return url + (url.includes('?') ? '&' : '?') + getQueryParams(); }; return choicesRedirectUrl(redirectionUrl); }; this.evaluateContextAndFix = function evaluateContextAndFix() { var wrongContextsMap = { 'vip': 'vip-mshops', 'mycart': 'mshops_mycart', 'from_mycart': 'mshops_from_mycart' }; var contextValue = $form.context && $form.context.value; if(contextValue && wrongContextsMap.hasOwnProperty(contextValue)) { sendEvent('INVALID_CONTEXT', contextValue); $form.context.value = wrongContextsMap[contextValue]; } }; this.hasLinkerField = function hasLinkerField(){ return $form && $form.querySelector('input[name=_ga]'); } this.onSubmit = function onSubmit(callbackFn) { if($form.getAttribute('decorated')) { return; } function isCheckoutUrl(action) { return typeof action === "string" && action.match(CHECKOUT_URL_REGEX); } function getChoicesUrl(url) { if (window.location.href.includes(STEP_DECISOR_PATH)) { var urlObj = new URL(window.location.href); var callbackURL = urlObj.searchParams.get("callback_url"); return decodeURIComponent(callbackURL); } return url; } function submitForm (event) { logger.info('FAILED OPEN IN APP: ', window.failedOpenInApp); function buttonChoicesCheck() { return document.querySelector('input[name="meli_choice"]:checked') !== null; } if(window.location.href.includes(STEP_DECISOR_PATH)){ if(!buttonChoicesCheck()){ logger.info('BUTTON NOT SELECTED: ', buttonChoicesCheck()); return; } logger.info('BUTTON SELECTED: ', buttonChoicesCheck()); } if (!event.submitter) { logger.warn('[SubmitForm] - NO EVENT SUBMITTER'); } if ( !window.failedOpenInApp && ( (event.currentTarget && isCheckoutUrl(getChoicesUrl(event.currentTarget.action))) || (event.submitter && isCheckoutUrl(event.submitter.formAction)) || (event.iosSubmitter && isCheckoutUrl(event.iosSubmitter.formAction)) ) ) { logger.info('ENTERED SUBMIT TO CHECKOUT'); event.preventDefault(); callbackFn(); } } $form.addEventListener('submit', submitForm); $form.setAttribute('decorated', true); logger.info('[ONSUBMIT] - DECORATED') } this.submit = function () { if (!this.isActionEmpty()) { return $form.submit(); } this.getSubmitButton().click(); }; } function DeepLink(url, deeplinkParameters) { var goesToWebviewCallbackFn = function () { }; var staysOnBrowserCallbackFn = function () { }; var issuesInspector = new IssuesInspector(); function getDeepLinkUrl() { // the available query parameters for MELI Webviews can be found on // https://sites.google.com/mercadolibre.com/mobile/arquitectura/libs-utilitarias/webkit/queryparams var dlQueryParams = []; for (var key in deeplinkParameters) { if (deeplinkParameters.hasOwnProperty(key)) { dlQueryParams.push(key + '=' + deeplinkParameters[key]) } } return (WEBVIEW_URL + encodeURIComponent(url) + '&' + dlQueryParams.join('&')); } function getVisibilityProps() { if (typeof document.hidden !== 'undefined') { return { hidden: 'hidden', visibilityChange: 'visibilitychange', } } else if (typeof document.msHidden !== 'undefined') { return { hidden: 'msHidden', visibilityChange: 'msvisibilitychange', } } else if (typeof document.webkitHidden !== 'undefined') { return { hidden: 'webkitHidden', visibilityChange: 'webkitvisibilitychange', } } else { return {}; } } function navigateToWebview() { var deepLinkUrl = getDeepLinkUrl(url, deeplinkParameters); logger.info('DEEPLINK URL: ', deepLinkUrl); issuesInspector.trackNavigationToDeepLink(); if (!issuesInspector.suspectsUserHasIssues() || IS_DEBUGGER_ON || IS_ON_STAGE) { window.location = deepLinkUrl; } } function handleFallback() { var visibilityProps = getVisibilityProps(); var hidden = visibilityProps.hidden; var visibilityChange = visibilityProps.visibilityChange; function cancelTimeout() { logger.info('CLEAR TIMEOUT', fallbackTimeout); clearTimeout(fallbackTimeout); } function inferWebviewIsOpen(origin) { logger.info(origin + ' CHANGE - Document is hidden: ', document[hidden]); if (origin === 'TIMEOUT' || document[hidden]) { issuesInspector.trackGoneToWebView(); goesToWebviewCallbackFn() } } // We use the Visibility API to check if the page is hidden to infer that the user has the app installed and // has successfully opened the checkout flow in there. document.addEventListener(visibilityChange, function () { inferWebviewIsOpen('VISIBILITY'); }); if (!isIos) { window.addEventListener('blur', function () { inferWebviewIsOpen('BLUR') }); window.addEventListener('focus', function () { logger.info('[HANDLEFALLBACK] FOCUS EVENT TRIGGERED'); }); } // As a last resort we expect the timeout to execute with some delay if the user went to the MELI App var timestampBeforeFallback = Date.now(); var fallbackTimeout = setTimeout(function () { // If the user has the MELI app installed, the user will have gone to the webview on the MELI app and the // current page will be redirect to the VIP. // But if the user doesn't have the app installed nothing will happen until the timer runs out and then // the buying flow will continue in the same browser tab. // This final check is done if the blur or visibility event is not triggered for some reason. var elapsedTimeSinceTimeoutExecution = Date.now() - timestampBeforeFallback; if (elapsedTimeSinceTimeoutExecution > FALLBACK_WAITING_TIME_WITH_A_MARGIN_ERROR_MS) { inferWebviewIsOpen('TIMEOUT'); } else { issuesInspector.trackStayedOnBrowser(); staysOnBrowserCallbackFn(); } }, FALLBACK_WAITING_TIME_MS); } this.openInMeliApp = function openInMeliApp() { handleFallback(); navigateToWebview(); return this; }.bind(this); this.goesToWebview = function (callback) { if (typeof callback === 'function') { goesToWebviewCallbackFn = callback; } return this; }.bind(this); this.staysOnBrowser = function (callback) { if (typeof callback === 'function') { staysOnBrowserCallbackFn = callback; } return this; }.bind(this) } function checkABTesting(callbacks) { var callbackForTestA = callbacks.callbackForTestA; callbackForTestA(); } function getDeviceInfo(device) { var userAgent = window.navigator.userAgent; var match = userAgent.match(device.regex); return match && { os: device.os, version: match[1], minimumVersion: device.minimumVersion } } function isDeviceSupported() { if(false){ var deviceInfo = getDeviceInfo(DEVICES_INFO.android); }else{ var deviceInfo = getDeviceInfo(DEVICES_INFO.android)|| getDeviceInfo(DEVICES_INFO.ios); } if(!deviceInfo){ logger.info('[isDeviceSupported] Device Info did not match'); if (window.location.href.includes(STEP_DECISOR_PATH)) { return true; } else { return false; } } var isEligible = parseInt(deviceInfo.version) >= deviceInfo.minimumVersion; logger.info('DEVICE OS: ', deviceInfo.os, ' - VERSION: ', deviceInfo.version) logger.info('MINIMUM VERSION REQUIRED: ', deviceInfo.minimumVersion); logger.info('[isDeviceSupported]: ', isEligible); return isEligible; } function onHtmlChanges(callback) { function useMutationObserverApi(cb) { MutationObserver = window.MutationObserver || window.WebKitMutationObserver; if (!MutationObserver) { return false; } var observer = new MutationObserver(cb); observer.observe(document, { subtree: true, childList: true, attributes: false }); return true; } function useFallbackDomSubtreeModified(cb) { document.body.addEventListener('DOMSubtreeModified', cb, false); } callback(); // Execute the callback in the first render if (!useMutationObserverApi(callback)) { useFallbackDomSubtreeModified(callback); } } function addDeepLink(deepLinkProps) { logger.info('DEEPLINK SCRIPT STARTED'); var formHandler = new FormHandler(deepLinkProps.form); if (!formHandler.isAvailable() || formHandler.userIsLoggedIn() || !isDeviceSupported()) { return; } checkABTesting({ callbackForTestA: function () { formHandler.evaluateContextAndFix(); formHandler.onSubmit(function () { sendEvent('FLOW', 'CONTINUED_TO_MARKETPLACE'); if (!formHandler.hasLinkerField()) { logger.warn('NO LINKER FIELD'); sendEvent('FLOW', 'NO_LINKER_FIELD', { nonInteraction: true }); } function continueBuyingFlow() { sendEvent('FLOW', 'STAYED_ON_BROWSER', { nonInteraction: true }); logger.warn('CONTINUE BUYING FLOW'); window.failedOpenInApp = true; formHandler.submit(); } var deepLinkHandler = new DeepLink(formHandler.getRedirectionUrl(), { authentication_mode: 'required', search_mode: 'none', back_style: 'none', back_action: 'close', bar_left_button_style: 'none', use_web_title: false, "webkit-engine": 2, hides_bottom_bar: true }); deepLinkHandler .openInMeliApp() .goesToWebview(deepLinkProps.backFromWebviewCallback) .staysOnBrowser(continueBuyingFlow); }); }, callbackForTestB: function () {}, }); } var MODAL_SCROLL_QUERY_SELECTOR = '.andes-modal__scroll'; var initialY = 0, eventListened = false; function handleTouchMoveEvent(e) { var touch = e.touches[0] || e.changedTouches[0]; if (!initialY) { initialY = touch.pageY; } else { this.scrollTop -= (touch.pageY - initialY) initialY = touch.pageY } } function handleScrollOnModal () { if (!isIOS()) { return; } var modalContainer = document.querySelector(MODAL_SCROLL_QUERY_SELECTOR); if (modalContainer && !eventListened) { eventListened = true; modalContainer.addEventListener('touchmove', handleTouchMoveEvent); modalContainer.addEventListener('touchend', function () { initialY = 0 }); } else if (!modalContainer) { eventListened = false; } } /** * BINDINGS */ function successCallback() { logger.info('APP OPENED - ALREADY ON VIP'); } onHtmlChanges(function () { if(false){ logger.info('VARIABLE NO APP CHECKOUT ', false); } else { var formsToDecorate = document.querySelectorAll(FORM_QUERY_SELECTOR_VALUE); logger.info('[VIP SCRIPT] - FORMS TO DECORDATE: ', formsToDecorate); formsToDecorate.forEach(function (form) { logger.info('[VIP SCRIPT] - CURRENT FORM: ', form); addDeepLink({ form: form, backFromWebviewCallback: successCallback, }) }); handleScrollOnModal(); }; }); })(window, document);},props:{"on":"load","type":"function","preload":false}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-web-widgets/v2.6.0/whatsapp-widget.js",props:{"on":"load"},c:function(){whatsappWidget(55, 31987857709, 'Olá! Estou na loja Alefy Hardwares e quero mais informações.')}},{s:"https://http2.mlstatic.com/resources/frontend/statics/ms-widgets/psl/v0.0.2/psl.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/resources/frontend/statics/ms-widgets/datadog-metric/v0.0.2/vpp.js",props:{"on":"load"}},{s:function(){ !function(n,e){n.mitt=e()}(this,function(){function n(n){return n=n||Object.create(null),{on:function(e,t){(n[e]||(n[e]=[])).push(t)},off:function(e,t){n[e]&&n[e].splice(n[e].indexOf(t)>>>0,1)},emit:function(e,t){(n[e]||[]).map(function(n){n(t)}),(n["*"]||[]).map(function(n){n(e,t)})}}}return n}); window.freya = mitt(); },props:{"on":"load","type":"function","preload":false}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-web-widgets/v2.6.2/menu-explorer.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-web-widgets/v2.4.6/search-explorer.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-web-widgets/v2.7.0/cart-badge.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-web-widgets/v2.7.1/suscription-footer.js",props:{"on":"load"}},{s:"https://alefyhardwares.mercadoshops.com.br/v3/security.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/polyfill.ed65771a.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/vip.mshops.desktop.6e8a155e.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/frontend-viewability/viewability-script.1.1.0.js",props:{"on":"load"},c:function(){window.viewability.setNonceForCSP('undefined')}},{s:function(){ window.qualtricsEmbeddedData = {"user_id":undefined,"is_identifier":false,"loyalty_level":undefined,"category_id":"MLB1658","flow_type":"general_merchandising"}; },props:{"on":"load","type":"function","preload":false}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/framework.7ba0f768.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/54672.1fe85351.js",props:{"on":"load"}},{s:function(){(()=>{let e=0;const n=window.setInterval((()=>{const t=document.getElementById("comparator");t?(window.meli_ga&&window.meli_ga("send","event","VIP","EXTENSION_MELIUZ"),t.style.display="none",clearInterval(n)):(e+=100,e>5e3&&clearInterval(n))}),100)})(); },props:{"on":"load","inline":true}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/90307.9503a73c.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/75125.5fe6b52d.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/49645.f7c21bd3.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/91496.3396e764.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/10891.9352f27d.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/30334.906f3899.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/13018.37816b63.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/77459.803ef593.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/85735.977b772f.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/71842.862f4b35.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/64455.83364e0b.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/88835.3df6f743.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/60886.b2fed294.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/95332.b7c4e8f5.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/52877.b64ffae6.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/91870.1db15dd8.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/58958.93df52aa.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/components-on-demand-iframe.9b187635.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/action.847ce43d.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/additional-info-index.e672c5df.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/builders-build-button-action-params.243bbeb5.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/builders-build-button-action.dcb925c5.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/returns.3488eb39.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/53759.4677b531.js",props:{"on":"load"}},{s:"https://http2.mlstatic.com/frontend-assets/mshops-vpp-frontend/components-recommendations-carousel-snapped-horizontal.efdc61d5.js",props:{"on":"load"}},{s:function(){ (function () { var g = function (e, h, f, g) { this.get = function (a) { for (var a = a + '=', c = document.cookie.split(';'), b = 0, e = c.length; b < e; b++) { for (var d = c[b]; ' ' == d.charAt(0); ) d = d.substring(1, d.length); if (0 == d.indexOf(a)) return d.substring(a.length, d.length); } return null; }; this.set = function (a, c) { var b = '', b = new Date(); b.setTime(b.getTime() + 6048e5); b = '; expires=' + b.toGMTString(); document.cookie = a + '=' + c + b + '; path=/; '; }; this.check = function () { var a = this.get(f); if (a) a = a.split(':'); else if (100 != e) 'v' == h && (e = Math.random() >= e / 100 ? 0 : 100), (a = [h, e, 0]), this.set(f, a.join(':')); else return !0; var c = a[1]; if (100 == c) return !0; switch (a[0]) { case 'v': return !1; case 'r': return (c = a[2] % Math.floor(100 / c)), a[2]++, this.set(f, a.join(':')), !c; } return !0; }; this.go = function () { if (this.check()) { var a = document.createElement('script'); a.type = 'text/javascript'; a.src = g; document.body && document.body.appendChild(a); } }; this.start = function () { var t = this; 'complete' !== document.readyState ? window.addEventListener ? window.addEventListener( 'load', function () { t.go(); }, !1 ) : window.attachEvent && window.attachEvent('onload', function () { t.go(); }) : t.go(); }; }; try { new g( 100, 'r', 'QSI_S_ZN_efi6I3nkl8bGcTA', 'https://znefi6i3nkl8bgcta-mercadolibre.siteintercept.qualtrics.com/SIE/?Q_ZID=ZN_efi6I3nkl8bGcTA' ).start(); } catch (i) {} })(); },props:{"on":"load","type":"function","preload":false}},{s:function(){ (function(h,o,t,j,a,r){ h.hj= h.hj || function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:783944,hjdebug:false,hjsv:5}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'//static.hotjar.com/c/hotjar-','.js?sv='); hj('tagRecording', ["NEW_VIP","user_type: normal"]); hj('trigger', 'NEW_VIP_GUEST_MLB'); },props:{"on":"load","type":"function"}},{s:function(){ (function(w,d,s,l,i){ w[l]=w[l]||[];w[l].push({"pageId":"VIP","itemId":"MLB3863758381","sellerId":1710466981,"categoryId":"MLB1658","rootCategoryId":"MLB1648","pathToRoot":"MLB1648,MLB1712,MLB455814,MLB1658","thumbnailQuality":"unknown","itemPrice":488.6,"localItemPrice":2749,"listingType":"gold_special","condition":"used","status":"active","siteId":"MLB","startTime":"2024-09-28T20:42:48.957Z","stopTime":"2044-09-23T04:00:00Z","brandId":"Gigabyte","tagManagerId":"GTM-NV7ZV9J","data_audience_3p_denied":false,"user_consent_cookies_functionality":true,"user_consent_cookies_performance":true,"user_consent_cookies_traceability":true,"user_consent_cookies_advertising":true});w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'}); var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true; j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);d.addEventListener("cookiesConsentChange",function(e){try{for(var n={event:"cookieConsentEvent"},t=Object.keys(e.detail),o=0;o